#ifndef IRIDE_GAME_H_
#define IRIDE_GAME_H_

#include "IGraphics.h"
#include "IInput.h"
#include "SdlEngine.h"


namespace Iride
{
	class Game
	{
		public:
			Game(IGraphics* pGraphics, IInput* pInput);
			virtual ~Game();

			int Execute();

		protected:

			IGraphics* const	mpGraphics;    // TODO: this must became an interface for graphics
			IInput* const		mpInput;

			virtual bool Init();
			virtual bool HandleInput();
			virtual void Update();
			virtual void Render();
			virtual void CleanUp();
	};
};


#endif
